package com.thz.system.service.svg;

import com.thz.common.dto.svg.ConversionFileToSvgRequestDTO;
import com.thz.common.dto.svg.ConversionFileToSvgResponseDTO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 文件转SVG服务接口
 * 
 * @author THZ
 * @date 2025
 */
public interface IConversionFileToSvgService {
    
    /**
     * 转换文件为SVG
     * 
     * @param file 上传的文件
     * @param requestDTO 转换参数
     * @param ipAddress 客户端IP地址
     * @return 转换结果
     */
    ConversionFileToSvgResponseDTO convertFileToSvg(MultipartFile file, ConversionFileToSvgRequestDTO requestDTO, String ipAddress);
    
    /**
     * 查询转换记录
     * 
     * @param id 记录ID
     * @return 转换记录
     */
    ConversionFileToSvgResponseDTO getConversionRecord(Long id);
    
    /**
     * 查询最近的转换记录
     * 
     * @param limit 数量限制
     * @return 转换记录列表
     */
    List<ConversionFileToSvgResponseDTO> getRecentConversions(int limit);
    
    /**
     * 删除转换记录
     * 
     * @param id 记录ID
     */
    void deleteConversion(Long id);
}


